module TOPORLOCAL where

-- all top level scope declarations are visible to external modules

-- can be read as "take an integer and return an integer"
toplevelfunction :: Integer -> Integer
-- tplvlfunc :: Integer -> String -> Integer
-- would be read as "take an integer, a string and return an integer"
toplevelfunction x =
    -- woot however is only locally scoped
    x + woot + toplevelvalue
    where woot :: Integer; woot = 10

toplevelvalue :: Integer; toplevelvalue = 5
